package thread;

public class ThisSuper {
    public static void main(String[] args) {
        //4.创建Perosn类的对象进行测试
        /*1.每次new(实例化)对象时，都会自动触发对应类的构造方法*/
        /*2.每一个类都会默认存在一个没有参数的构造方法
         * 但是，如果你提供了其他的构造函数，默认的无参构造会被覆盖
         * 所以，我们要手动的提供无参构造，这样才能不传参数，也能创建对象*/
        Person p = new Person();


        //6.创建Person类的第二个对象
        /*4.每次创建对象时，都会执行构造方法
         * 构造方法的作用：用来创建对象的*/
//        Person p2 = new Person();
//        //8.触发含参构造
//        Person p3 = new Person(88);
//        System.out.println(p3.name);
//        Person p4 = new Person("张三",18,"柳树下");
//        System.out.println(p4.name);
//        System.out.println(p4.age);
//        System.out.println(p4.address);
    }
}
//1.创建Person类，用来描述人这一类事物
class Person{
    //2.属性--成员变量
    String name;//姓名
    int age;//年龄
    String address;//住址
    //8.创建本类的全参构造
    //右键->Generate->Constructor->Shift全选所有属性->OK
//    public Person(String name, int age, String address) {
//        this.name = name;//局部变量name的值赋值给this指定的成员变量name
//        this.age = age;//局部变量age的值赋值给this指定的成员变量age
//        this.address = address;//局部变量address的值赋值给this指定的成员变量address
//        System.out.println("我是Person类的全参构造");
//    }

    /*3.构造方法的格式：没有返回值类型并且与类名同名的方法*/
    //5.创建本类的无参构造
    public Person(){
        System.out.println("我是Person类的无参构造~");
    }
    //7.创建本类的含参构造
//    public Person(int n){
//        System.out.println("我是Person类的含参构造"+n);
//    }
//
    //3.功能--方法
//    public void eat(){
//        System.out.println("干饭不积极，思想有问题~");
//    }

}
